//package dfl.bysj.handler;
//
//import dfl.bysj.exception.UnifiedException;
//import dfl.bysj.result.ResponseEnum;
//import dfl.bysj.util.JWTUtils;
//import org.springframework.stereotype.Component;
//import org.springframework.web.method.HandlerMethod;
//import org.springframework.web.servlet.HandlerInterceptor;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
///**
// * @Author: DFL
// * @Data: 2022/4/2817:39
// */
//@Component
//public class LoginHandler implements HandlerInterceptor {
//
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//        /**
//         * 1、判断请求是否请求controller方法
//         * 2、有些接口不需要登录拦截，需要开发自定义注解@NoAuth 此注解标识的 不需要登录
//         * 3、拿到token
//         * 4、token认证
//         * 5、如果token认证通过， 就放行   不通过，就返沪未登录
//         * 6、得到了用户信息，放入ThreadLocal当中
//         */
//        if(!(handler instanceof HandlerMethod)){
//            return true;
//        }
//        HandlerMethod handlerMethod= (HandlerMethod) handler;
//        if (handlerMethod.hasMethodAnnotation(NoAuth.class)){
//            return true;
//        }
//        String token=request.getHeader("Authorization");
////        token = token.replace("DFL ","");
//        boolean verify= JWTUtils.verify(token);
//        if (!verify){
//            throw new UnifiedException(ResponseEnum.TOKEN_NOT_EQUAL_ERROR);
//        }
//        return true;
//    }
//}
